نمایش نتایج: از شماره 1 تا 3 از مجموع 3
  1. #1
    عضو تازه وارد
    تاریخ عضویت
    2012 April
    محل سکونت
    قائمشهر
    ارسال ها
    9
    تشکر
    3
    تشکر شده 5 بار در 3 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    خواندن اطلاعات از اکسل و ذخیره اطلاعات آن در جدول دیتابیس

    سلام
    من یه فایل اکسل دارم که توش یه چند تا اسم و ایمیل هست
    می خوام با خوندن این فایل هم اطلاعاتش تو جدول ریخته بشه هم به این افراد ایمیل ارسال بشه
    ممکنه راهنماییم کنید
    مرسی

    موضوعات مشابه:

    زنده بودن را به بیداری بگذرانیم که سال ها به اجبار خواهیم خفت...

    yesterday is history
    tomorrow is mystery
    today is present


  2. #2
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    اپه از سی شار استفاده میکنید.چند تا گزینه دارید .
    1.از Excel object Library استفاده کنید.(روی refrence تو پروژتون راست کلیک کنید.تب Com رو انتخاب کنید و Microsoft Excel Object Library رو انتخاب کنید).بعدش میتونید بعد از using کردنش بصورت زیر ازش استفاده کنید.
      using Microsoft.Office.Interop.Excel;

    یه مثال ساده اش اینه :

    this.openFileDialog1.FileName = "*.xls";
    if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(
    openFileDialog1.FileName, 0, true, 5,
    "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false,
    0, true);
    Excel.Sheets sheets = theWorkbook.Worksheets;
    Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
    for (int i = 1; i <= 10; i++)
    {
    Excel.Range range = worksheet.get_Range("A"+i.ToString(), "J" + i.ToString());
    System.Array myvalues = (System.Array)range.Cells.Value;
    string[] strArray = ConvertToStringArray(myvalues);
    }
    }

    مشکلش اینه که باید قبلش آفیس نصب باشه . اگه نباشه باید رفرنسهای مورد نیازت رو دانلود کنی و کنار فایل اجرایی برنامتون بزارید .(میتونید از اینجا دانلود کنید : http://support.micro...com/kb/897646�� )


    2.میتونید از Oledb استفاده کنید. و انگار که دارید با تیبل کار میکنید ازش استفاده کنید و دادهاتون رو بخونید.:
    مثال:


    using System.Data;
    using System.Data.OleDb;
    //فرض کردم مسیر فایل اکسلتون توی سی هست.
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=Excel 8.0");
    OleDbDataAdapter da = new OleDbDataAdapter("select * from MyObject", con);
    DataTable dt = new DataTable();
    da.Fill(dt);


    مثال دوم:

    var fileName = @"C:\ExcelFile.xlsx";
    var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\""; ;
    using (var conn = new OleDbConnection(connectionString))
    {
    conn.Open();
    var sheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
    using (var cmd = conn.CreateCommand())
    {
    cmd.CommandText = "SELECT * FROM [" + sheets.Rows[0]["TABLE_NAME"].ToString() + "] ";
    var adapter = new OleDbDataAdapter(cmd);
    var ds = new DataSet();
    adapter.Fill(ds);
    }
    }



    مثال سوم :

    DataSet ds_Data = new DataSet();
    OleDbConnection oleCon = new OleDbConnection();
    string strExcelFile = @"C:\Test.xlsx";
    oleCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelFile + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\"";;
    string SpreadSheetName = "";
    OleDbDataAdapter Adapter = new OleDbDataAdapter();
    OleDbConnection conn = new OleDbConnection(sConnectionString);
    string strQuery;
    conn.Open();
    int workSheetNumber = 0;
    DataTable ExcelSheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
    SpreadSheetName = ExcelSheets.Rows[workSheetNumber]["TABLE_NAME"].ToString();
    strQuery = "select * from [" + SpreadSheetName + "] ";
    OleDbCommand cmd = new OleDbCommand(strQuery, conn);
    Adapter.SelectCommand = cmd;
    DataSet dsExcel = new DataSet();
    Adapter.Fill(dsExcel);
    conn.Close();



    راه حل سوم و بهترین راه حل : استفاده از کاموننت ExcelDataReader هست.:
    Excel Data Reader - Read Excel files in .NET
    خیلی راحت Dllهاشو دانلود کنید و تو روژتون ازش استفاده کنید.
    نحوه استفاده اش هم در سی شار بصورت زیره :

    FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
    //1. برای خوندن فایل اکسل آفیس 97 تا آفیس 2003 با پسوند..xls
    IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
    //...
    //2. برای خوندن فایل اکسل آفیس 2007 به بالا.با پسوند .xlsx
    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
    //...
    //3. نتیجه هر صفحه گسترده درون result.Tables قرار میگیره.
    DataSet result = excelReader.AsDataSet();
    //...
    //4. ایجاد نام ستونها بر اساس سطر اول
    excelReader.IsFirstRowAsColumnNames = true;
    DataSet result = excelReader.AsDataSet();
    //5. برای کار کردن و خوندن
    while (excelReader.Read())
    {
    //excelReader.GetInt32(0);
    }
    //6. آزاد سازی منابع بعد از انجام کارها
    excelReader.Close();


    برای ارسال ایمیل هم میتونید از کلاس System.Net.Mail استفاده کنید.
    مثال:

    using System.Net.Mail;
    using System.Net;
    var fromAddress = new MailAddress("from@gmail.com", "From Name");
    var toAddress = new MailAddress("to@[B][URL="http://forum.ustmb.ir/member.php?u=843"]yahoo[/URL][/B] .com", "To Name");
    const string fromPassword = "password";
    const string subject = "test";
    const string body = "Hey now!!";
    var smtp = new SmtpClient
    {
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
    Timeout = 20000
    };
    using (var message = new MailMessage(fromAddress, toAddress)
    {
    Subject = subject,
    Body = body
    })
    {
    smtp.Send(message);
    }



    این سایت هم سیر تا پیاز ارسال ایمیل از طریق دات نت رو عنوان کرده .ببینیدش خوبه : System.Web.Mail, OH MY!
    و این سایت : http://csharp.net-informations.com/c...-smtp-mail.htm

    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  3. #3
    عضو تازه وارد
    تاریخ عضویت
    2012 April
    محل سکونت
    قائمشهر
    ارسال ها
    9
    تشکر
    3
    تشکر شده 5 بار در 3 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    مرسی.حل شد


    زنده بودن را به بیداری بگذرانیم که سال ها به اجبار خواهیم خفت...

    yesterday is history
    tomorrow is mystery
    today is present


 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 03:11 PM بر حسب GMT +4 می باشد.